// import React from 'react';
// import { Route, Redirect } from 'react-router-dom';
// import { hasToken } from 'utils/storage';
// function AuthRouter({ component: Component, ...rest }) {
//   console.log(5, Component);
//   console.log(6, rest);
//   return (
//     <Route
//       render={(props) => {
//         // console.log(11, 'props', props);
//         console.log(11, hasToken());
//         if (hasToken()) {
//           return <Component {...props}></Component>;
//         } else {
//           return (
//             <Redirect
//               to={{ pathname: '/login', state: { from: props.location } }}
//             ></Redirect>
//           );
//         }
//       }}
//     ></Route>
//   );
// }

// export default AuthRouter;

import React, { Component } from 'react';
import { Route, Redirect } from 'react-router-dom';
import { hasToken } from 'utils/storage';
// 有token，去登录页 =》 首页
// 有token，去其他页面 =》 放行
// 无token，去登录页=》放行
// 无token，去其他页面=》登录页面
export default class AuthRouter extends Component {
  render() {
    const { path, component: Comp } = this.props;
    return (
      <Route
        // render返回的组件，默认props.history会丢失，需要手动绑定回去
        path={path}
        render={(props) => {
          // console.log(11, 'props', props);
          // console.log(41, hasToken());
          if (hasToken()) {
            return <Comp {...props}></Comp>;
          } else {
            return (
              <Redirect
                to={{ pathname: '/login', state: { from: props.location } }}
              ></Redirect>
            );
          }
        }}
      ></Route>
    );
  }
}
